* Печать программы КОНЦЕПТ * Программа КОНЦЕПТ, 06.01.2011, www.gendoc.ru * Выбор имени файла осуществляется через меню "Вставка=>Имя файла" функция ОбработатьСтроку s n память локальный r sym s0 стиль_начало стиль_конец ТЭГ позиция позиция1 позиция2 оператор * Определение комментария или оператора вывода строка отсечьПробелы s0 [s] присвоить стиль_начало '' стиль_конец '' выбрать (строка взять $результат [s0] 1 ) вариант '>' присвоить стиль_начало [СТИЛЬ_ПЕЧАТЬ_НАЧАЛО] стиль_конец [СТИЛЬ_ПЕЧАТЬ_КОНЕЦ] вариант '*' присвоить стиль_начало [СТИЛЬ_КОММЕНТАРИЙ_НАЧАЛО] стиль_конец [СТИЛЬ_КОММЕНТАРИЙ_КОНЕЦ] вариант '/' если (строка копировать $результат [s0] 2 2 ) == '/' присвоить стиль_начало [СТИЛЬ_КОММЕНТАРИЙ_НАЧАЛО] стиль_конец [СТИЛЬ_КОММЕНТАРИЙ_КОНЕЦ] конец конец конецВыбора * Если строка не является комментарием или оператором вывода, то попытка прочитать ключевое слово если [ПЕРЕНОС_НА_СЛЕДУЮЩУЮ_СТРОКУ] != да если [стиль_начало] == '' строка пропуститьСимволы позиция1 [s] ' ' 1 строка найтиСимволы позиция2 [s] ' ' [позиция1] если [позиция2] == 0 строка размер позиция2 [s] иначе увеличить позиция2 -1 конец строка копировать оператор [s] [позиция1] (вычислить - $результат [позиция2] [позиция1] -1 ) строка строчные оператор [оператор] если [оператор] != '' если (множество и $результат [оператор] [ОПЕРАТОРЫ] ) присвоить "ТЭГ;[позиция1];открытие" [СТИЛЬ_ОПЕРАТОР_НАЧАЛО] "ТЭГ;[позиция2];закрытие" [СТИЛЬ_ОПЕРАТОР_КОНЕЦ] иначе если (множество и $результат [оператор] [КОМАНДЫ] ) * присвоить "ТЭГ;[позиция1];открытие" [СТИЛЬ_КОМАНДА_НАЧАЛО] "ТЭГ;[позиция2];закрытие" [СТИЛЬ_КОМАНДА_КОНЕЦ] иначе присвоить "ТЭГ;[позиция1];открытие" [СТИЛЬ_ФУНКЦИЯ_НАЧАЛО] "ТЭГ;[позиция2];закрытие" [СТИЛЬ_ФУНКЦИЯ_КОНЕЦ] конец конец конец конец конец присвоить r '' позиция 0 пока [s] != '' увеличить позиция строка взять sym [s] 1 список отобразить sym [sym] '>;<;";&; ' ">[ТЗ];<[ТЗ];"[ТЗ];&[ТЗ]; [ТЗ]" [sym] строка символы sym [sym] если (память существует $результат "ТЭГ;[позиция];открытие" ) присвоить r "[r][ТЭГ;[позиция];открытие]" конец присвоить r "[r][sym]" если (память существует $результат "ТЭГ;[позиция];закрытие" ) присвоить r "[r][ТЭГ;[позиция];закрытие]" конец строка удалить s [s] 1 1 цикл >[n]: [стиль_начало][r][стиль_конец]
если (строка взять $результат [s0] (строка размер $результат [s0] ) ) == '\' присвоить ПЕРЕНОС_НА_СЛЕДУЮЩУЮ_СТРОКУ да иначе присвоить ПЕРЕНОС_НА_СЛЕДУЮЩУЮ_СТРОКУ '' конец возврат ****** Начало основного кода ****** присвоить ПУТЬ "[$текущийКаталог]" присвоить ФАЙЛ 'ConceptProgListing.htm' присвоить ОПЕРАТОРЫ если;иначе;конец;выбрать;вариант;конецвыбора;для;следующий;пока;цикл;функция;возврат;выбрать;когда присвоить КОМАНДЫ увеличить;печать;присвоить;память;стек;вычислить;строка;список;множество;данные;факт;понятие;показать;ввести;файл;импорт;время;рисовать;отладка;выполнить;вставить;стоп присвоить СТИЛЬ_КОММЕНТАРИЙ_НАЧАЛО '' СТИЛЬ_КОММЕНТАРИЙ_КОНЕЦ '' присвоить СТИЛЬ_ПЕЧАТЬ_НАЧАЛО '' СТИЛЬ_ПЕЧАТЬ_КОНЕЦ '' присвоить СТИЛЬ_ОПЕРАТОР_НАЧАЛО '' СТИЛЬ_ОПЕРАТОР_КОНЕЦ '' присвоить СТИЛЬ_КОМАНДА_НАЧАЛО '' СТИЛЬ_КОМАНДА_КОНЕЦ '' присвоить СТИЛЬ_ФУНКЦИЯ_НАЧАЛО '' СТИЛЬ_ФУНКЦИЯ_КОНЕЦ '' строка коды ТЗ ';' ввести переменная ПРОГРАММА "Укажите имя файла с программой КОНЦЕПТ:" файл читать [ПРОГРАММА] файл писать "[ПУТЬ][ФАЙЛ]" > > > > >Программа КОНЦЕПТ > >

Файл: [ПРОГРАММА]

Дата: [$Сегодня]

присвоить ПЕРЕНОС_НА_СЛЕДУЮЩУЮ_СТРОКУ '' присвоить 'Номер строки' 0 файл читатьСтроку Строка пока [$строкаПрочитана] увеличить 'Номер строки' ОбработатьСтроку [Строка] [Номер строки] файл читатьСтроку Строка цикл > файл конецЗаписи показать html "[ПУТЬ][ФАЙЛ]"